var express = require('express');
var router = express.Router();

//导入 shortid
const AccountModel = require('../../models/AccountModel')
const moment = require("moment");


//导入检测token的中间件
let checkToken =  require('../../middleWare/checkToken')




//记账本的列表
router.get('/account', checkToken,function(req, res, next) {

  //获取所有的账单信息
  AccountModel.find().sort({time:-1})
    .then((data) => {
    res.json({
      //响应编号
      code:'0000',
      //响应信息
      msg:'',
      //响应数据
      data:data
    })



  })
    .catch((err) => {
      res.json({
        code:'1001',
        msg:'读取失败',
        data:null
      })
    })
});



//新增记录
router.post('/account', checkToken,(req, res) => {
  //表单验证



 //插入数据库
  AccountModel.create(
    {
      ...req.body,
      time:moment(req.body.time).toDate()
    }
  )
    .then((data) => {
     res.json({
       code:'0000',
       msg:'获取成功',
       data:data
     })
    })
    .catch((err) => {
      res.json({
        code:'1001',
        msg:'获取失败',
        data:null
      })
    })

});


//获取单个账单
router.get('/account/:id',checkToken, (req, res) => {
  let {id} = req.params
  AccountModel.findById({_id:id})
    .then((data) => {
    res.json({
      code:'0000',
      msg:'读取成功',
      data:data
    })
  })
    .catch((err) => {
      res.json({
        code:'1004',
        msg:'获取失败'
      })
    })
})


//删除接口
router.delete('/account/:id',checkToken,(req, res) => {
  let id = req.params.id
  AccountModel.deleteOne({_id:id})
    .then(()=>{
            res.json({
      code:'0000',
      msg:'删除成功',
      data:null
    })
  })
    .catch((err) => {
      res.json({
        code:'1101',
        msg:'获取失败'
      })
    })
})


module.exports = router;
